-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add catch for ConnectionAborted in Http3 #93049
Add catch for ConnectionAborted in Http3 #93049
Conversation
Tagging subscribers to this area: @dotnet/ncl Issue DetailsI don't have a good repro but according to the stack trace, it feels like Fixes #92359
|
Could you expand on that a bit more so I can fully understand the sequence of events that could cause this? |
AFAIU, when we finished the serverTask |
CloseAsync is awaited, so we're waiting for the SHUTDOWN_COMPLETE event for the connection
Dispose won't do anything if close was already called, if not, it will do the same thing as CloseAsync called with default connection close error code. Also "connection aborted by peer" is what you will get when you call CloseAsync so that should be expected: runtime/src/libraries/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/Http3Connection.cs Lines 445 to 451 in ffa4ef7
So I think your premise is not correct and there's more to it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
It wasn't actually a race between, closing, etc. Since we're keeping the first exception in _abortException, we're returning that and in some cases, we weren't actually wrapping
ConnectionAbort
withHttpProtocolException
, and it was resulting in throwing aQuicException
.Fixes #92359